package com.aaa.mbs.service;

import com.aaa.common.util.Result;
import com.aaa.common.vo.MemberPassword;
import com.aaa.mbs.entity.Member;

import java.util.List;

/**
 * (Member)表服务接口
 *
 * @author makejava
 * @since 2020-12-04 15:21:09
 */
public interface MemberService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Member queryById(Integer id);
    /**
     * 发送验证码
     *
     * @param phoneNum 主键
     * @return 实例对象
     */
    String sendSM(String  phoneNum);

    /***
     * 修改密码
     * @param memberPassword
     * @return
     */
    Result changePassword(MemberPassword memberPassword);

    /**
     * 通过实体作为筛选条件查询
     *
     * @param member 实例对象
     * @return 对象列表
     */
    Result queryAllByParam(int pageNo, int pageSize, Member member);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<Member> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param
     * @return 实例对象
     */
    Member insert(Member member);

    /**
     * 修改数据
     *
     * @param member 实例对象
     * @return 实例对象
     */
    Result update(Member member);

    /**
     * 完善信息页面更新会员方法
     * @param member
     * @return
     */
    Result  updateFront(Member member);
    /**
     * 修改密码
     * @param member
     * @return
     */
    Result updatePwd(Member member);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    Result deleteById(Integer id);

    /**
     * 根据用户名查询对象
     * @param userName
     * @return
     */
    Member queryByUserName(String userName);


    /**
     * 根据用户名查询用户信息
     * @param userNameOrPhoneNum
     * @return
     */
    Result queryMemberByParam(String userNameOrPhoneNum);


    /**
     * 查询所有用户
     */
    List<Member> listMember();

    /**
     * 动态新增方法
     * @param member
     * @return
     */
    int insertBy(Member member);


    Integer forgetPwd(Member member);
}